1. Field of the Invention
The present invention relates to a recording device, typified by a PVR (Personal Video Recorder) or an HDD (Hard Disk Drive) Video Recorder. The recording device is used in a receiving device having a function of once accumulating a program which is broadcast or delivered in real time via an electrical transmitting means such as digital broadcasting and the Internet, making it possible to view it asynchronously to broadcast or delivery. More specifically, the invention relates to recording devices which are used in receiving devices which are connected with one another at all times via a network.
2. Description of the Related Art
FIG. 16 illustrates a structure of a receiving device including a conventional recording device. The receiving device 1200 includes a receiving unit 101, a program decoder 102, a UI controlling unit 103, a display unit 104, an input unit 105, a program list managing unit 106, a storage managing unit 107, a chasing unit 108, and a preprogrammed recording unit 109.
The receiving unit 101 is connected to a transmission path using an electric wave, an electric wire, an optical fiber, or the like as a medium and extracts information of a program in real time which is transmitted thereto via the transmission path. The information of the program includes the substance of the program expressed by an image, a sound, and character information, an electronic program list which is metadata of the program, and the like. In order to take out information of a particular program from a transmission path through which a plurality of programs are broadcast at the same time, the receiving unit 101 extracts digital data of desired program information by designating an ID or the like which identifies a broadcasting frequency of the program to be taken out or a transmission unit of packets and the like which constitute the program.
The receiving unit 101 is composed of, in the case of a digital broadcasting tuner, for example, a BS/CS tuner module and a transport decoder. The program decoder 102 receives an image, a sound, character information, and the like which are contained in the output from the receiving unit 101 or the storage managing unit 107 and decodes them. The program decoder 102 is composed of an MPEG2 (Motion Picture Expert Group) decoder, a BML (Broadcasting Markup Language) browser and the like as being used in a digital broadcast tuner.
Note that MPEG2 is defined by ISO/IEC 13818-1, 13818-2, 13818-3, and the like, which are international standards, and is regularly used for encoding digital images and audio data. BML is a language, based on XML (eXtensible Markup Language), for multimedia encoding in digital broadcast and is used for digital broadcast in Japan. BML is defined by ARIB STD-B24, a written standard by Association of Radio Industries and Businesses, a Japanese standardization organization.
A user interface (User Interface; hereinafter referred to as “UI” for short) controlling unit 103 realizes interactive processing with a user by managing the state transition of a display screen. The UI controlling unit 103 outputs a signal to be displayed on the display screen while combining an OSD (On Screen Display) display with an image outputted by the program decoder 102. The UI controlling unit 103 further changes the state of the display screen in accordance with an instruction of the user inputted from the input unit 105 and generates a transition control signal Sc which makes the state of the receiving device 1200 transit. In other words, the UI controlling unit 103 is connected with the chasing unit 108 and the preprogrammed recording unit 109, and realizes state transition by controlling these units so as to control each other. Note that the UI controlling unit 103 can be composed of a graphic engine which generates a signal of OSD and a computer for control thereof.
FIG. 17 illustrates an example of an accumulated program list screen which is presented by the UI controlling unit 103 onto the display unit 104. The accumulated program list screen includes an accumulated program section IPR made up of a plurality of rows (in the present example, five rows, that is, row L221, row L222, row L223, row L224, and row L225) for showing information concerning programs managed by the storage managing unit 107. In each row of the accumulated program section IPR, detailed information about the program which is assigned to the row is shown in a plurality of columns (in the present example, four columns, that is, column C231, column C232, column C233, and column C234). Specifically, the recording date and time of each program is shown in column C231, the broadcast channel thereof is shown in column C232, and the program name thereof is shown in column C233. And whether the data of a program which has been recorded, that is, accumulated is to be automatically erased or not is indicated in column C234.
Note that at the top of the accumulated program section IPR, a program information label LIP for indicating the kind of detailed information to be displayed in each column is placed. At the side of the accumulated program section IPR, in order to display more than five pieces of program information, a scroll bar 240 for replacing displayed rows is arranged. As is exemplified in the present figure, in the scroll bar 240, a pointer Pp for indicating the physical relationship of the pieces of program information which are currently being displayed on the accumulated program section IPR with the whole program information which is under the management of the storage managing unit 107 is displayed. As a result, the user can easily recognize that accumulated programs exist above and below the programs which are being displayed, along with those which are currently being displayed on the accumulated program section IPR.
In column C234 where it is shown whether automatic erasure might be conducted or not, an unlocked key is shown when the recorded program is in a temporarily-stored state while a locked key is shown when the program is in a permanently-stored state. In the example illustrated in FIG. 17, it is shown that the program “Trip to Nature in the World No. 1,” which is displayed in the row L224, is set to be in a permanently-stored state while the programs displayed in the other rows, that is, row L221, row L222, row L223, and row L225, are in temporarily-stored states.
In the accumulated program section IPR, a program for which so-called “chase viewing,” which means recording a program which is being broadcast and meanwhile playing back an arbitrary portion already recorded at the same time, is being performed is not displayed. This is because, in the case of the process of chase viewing, not only a program which has already been recorded exists in the storage managing unit 107 only when the receiving device is in a condition where chase viewing is being performed therein but also it is stored in the storage managing unit 107 so as to be separated from those which have been recorded in an ordinary manner. “Chasing state,” which will be described later, is administered as the value of the storage status. Accordingly, no program in a chasing state exists when the receiving device is in a condition where the accumulated program section IPR as illustrated in FIG. 17 is displayed thereon.
The display unit 104 is an output device for presenting information to a user. The display unit 104 converts output from the UI controlling unit 103 to a physical phenomenon which is perceivable by the user and presents it to the user. The display unit 104 is, for example, composed of a CRT (Cathode Ray Tube) display and a loudspeaker.
The input unit 105 is a device for inputting a physical operation by the user. The input unit 105 is composed of a pointing device such as a remote controller, a keyboard, and a mouse and/or a human interface device typified by a speech recognition device. Based on an instruction by the user, the input unit 105 generates an operation input signal So and outputs it to the UI controlling unit 103.
The program list managing unit 106 receives information of a program list outputted from the receiving unit 101 and creates a database of the program list. The program list managing unit 106 may be any as long as it is provided with a decoding program for an electronic program list (EPG; Electric Program Guide) in a digital broadcast tuner and its execution environment.
The storage managing unit 107 stores one or more pieces of program data composed of video data, audio data, and the like and outputs them in accordance with a request from the outside. Note that storing program data means recording a program, in other words.
In the storage managing unit 107, in addition to program data Dp, program storage information RDp for managing a plurality of pieces of program data which have been stored is stored as well. The program storage information RDp includes a list of programs whose program data Dp is stored in the storage managing unit 107 and information which shows the date and time when the programs were recorded, the broadcast channels on which the programs are delivered, the titles of the programs, and the storage states of the programs. Information showing the storage state of program data Dp has, for each of the programs which have been stored, one of the values which indicate three states. The three states are, specifically, a temporarily-stored state, a permanently-stored state, and a chasing state.
The temporarily-stored state indicates that program data Dp which has been recorded is permitted to be automatically erased when the capacity of the storage managing unit 107 is insufficient. The permanently-stored state, which is a regular state, indicates that program data Dp is permanently stored unless an explicit erasing operation is conducted by the user. The chasing state indicates that it is program data that is temporarily created during chase viewing, which will be described further below.
The chasing unit 108 realizes the “chase viewing” function in the receiving device 1200. Here, chase viewing is described. An object of this function is, in a situation where the user is viewing in real time a program which is currently being delivered or broadcast, to provide a situation typified by viewing, in non-real time for broadcast, a scene of the program which has been missed for a reason like leaving the seat for going to the bathroom or the like.
In order to do chase viewing, the user at first starts the recording of a program which is being viewed by pressing a “pause” button of the input unit 105 realized by a remote controller or the like when he or she leaves the seat. When the user returns to the seat after awhile, if he or she presses a “chasing playback” button of the input unit 105, the recorded program is played back from the time point at which the “pause” button was pressed earlier. At this time, the playback of the program recorded during the time when he or she was away from the seat and the recording of scenes which cannot be presented to the display unit 104 to be viewed because of the playback of scenes being performed at the moment are performed at the same time.
A chase viewing operation in the receiving device 1200 is described. Chase viewing is realized by the chasing unit 108 controlling the storage managing unit 107, the program decoder 102, and the UI controlling unit 103. The preprogrammed recording unit 109 manages the preprogramming of the recording of a program and causes the recording to be carried out as preprogrammed. Based on program list information IP inputted from the program list managing unit 106 and an operation signal So inputted from the input unit 105, the preprogrammed recording unit 109 generates program identification information IPTR for identifying a program to be recorded.
The program identification information IPTR includes information indicating the starting date and time (hereinafter referred to as “a program-to-be-recorded starting time TSS”), ending date and time (hereinafter referred to as “a program-to-be-recorded ending time TTS”), and a broadcast channel (hereinafter referred to as “a program-to-be-recorded broadcast channel CB) of a program to be recorded, for example.
The preprogrammed recording unit 109 compares a present date and time (hereinafter referred to as “a present time TC”) with the program-to-be-recorded starting time TSS which is indicated by the held program identification information IPTR, and, if both coincide with each other, in connection with the receiving unit 101, requests the receiving unit 101 to receive broadcast data which is delivered through (broadcast on) the broadcast channel indicated by the program-to-be-recorded broadcast channel CB and causes the storage managing unit 107 to record and store program data Dp outputted by the receiving unit 101. Concerning this chase viewing operation, a description in detail is made later with reference to FIG. 19.
Next, with reference to FIG. 18, automatic erasure recording in a conventional receiving device is described. Automatic erasure recording refers to a function of automatically securing, in the storage managing unit 107, a vacant area necessary for storing data of a program to be recorded when carrying out a recording. Specifically, if the storage managing unit 107 does not have a sufficient vacant area necessary for a recording which is about to be carried out, one or more pieces of the program data Dp already recorded in the storage managing unit 107 are erased automatically.
Hence, automatic erasure recording is a function which becomes effective when, in a situation where one or more pieces of program data Dp have already been stored in the storage managing unit 107, an instruction to record at least one program is further given. In such a situation, when an instruction to record a program is given, the automatic erasure recording function begins to be activated.
Then, at step S501, the preprogrammed recording unit 109 compares the present time TC with the program-to-be-recorded starting time TSS based on the program identification information IPTR, and determines whether the preprogrammed recording starting time is reached or not. Until the present time TC reaches the program-to-be-recorded starting time TSS, the preprogrammed recording unit 109 repeats the processing of the present step, and at the time when the present time TC comes to be identical to the program-to-be-recorded starting time TSS, the process proceeds to the next step S1301.
At step S1301, the storage managing unit 107 erases, among the stored program data Dp, a part or whole of the data which is in a temporarily-stored state and thereby secures a vacant area sufficient for storing the program data Dp which the preprogrammed recording unit 109 has given an instruction to record. However, in the case where a vacant area sufficient for storing the program data of which an instruction of recording has been given has been secured in the storage managing unit 107, the erasure of program data Dp is not carried out. The selection criterion for determining which is to be preferentially erased of the program data Dp in a temporarily-stored state is arbitrarily determined considering the user's preference: for example, to select in the order of the date and time of recording or to preferentially select one which has already been played back. After the processing of the present step, the process proceeds to the next step S510.
At step S510, the storage managing unit 107 creates a new recording file. A new recording file refers to a data area in which to store a program which the preprogrammed recording unit 109 is to record. Then, the process proceeds to the next step S505.
At step S505, the recording of a program which has been preprogrammed is caused to begin. Specifically, data of a program to be stored is outputted from the receiving unit 101 to the storage managing unit 107 by the preprogrammed recording unit 109 instructing the receiving unit 101 of a broadcast channel (recording program broadcast channel CB) on which reception should be made, and next a preprogrammed recording is caused to begin by instructing the storage managing unit 107 to store the output from the receiving unit 101.
Next, with reference to FIG. 19, chase viewing process is described. Chase viewing is a function which is realized by conducting a recording and a playback at the same time. Therefore, by the user pressing a pause button of the input unit 105 in a situation where the recording of a program for which chase viewing is to be performed has already been caused to begin, the operation of chase viewing is caused to begin.
Therefore, at step S701, it is determined whether a pause instruction by the user has been inputted. Note that a pause instruction by the user is, after being outputted from the input unit 105 as a user input signal So, notified to the chasing unit 108 via the UI controlling unit 103. The chasing unit 108 repeats the processing of the present step until the user presses the pause button of the input unit 105. When the user presses the pause button, a pause instruction is detected, and the process then proceeds to the next step S702.
At step S702, the chasing unit 108 causes the storage managing unit 107 to create a new recording file. This new recording file is furnished for the chasing process which will be described later. Then, the process proceeds to the next step S703.
At step S703, the recording of program data Dp of a program which is currently being viewed is caused to begin by the chasing unit 108 with the recording file which has been created at step S702. In starting a chasing playback, it is possible to conduct a playback, while utilizing this recording file, from the point at which the recording is caused to begin at the present step. Thus, the chasing unit 108 operates without recognizing a program. Consequently, if a pause instruction has been maintained for a long time, for example, a chasing process may be performed for two different consecutive programs. Then, the process proceeds to the next step S704.
At step S704, it is determined whether a chasing playback instruction has been inputted by the user. In other words, until the user presses the chasing playback button of the input unit 105, the process stays at the present step S704, and when the chasing playback button is pressed, the process proceeds to the next step S705.
At step S705, the new recording file to which the recording was caused to begin at step S703 starts to be played back from the beginning. In other words, the playback is started, going back in time from the time point when the user presses the chasing playback button at step S704 to the time point when the recording was caused to begin at step S703 in response to an operation of the pause button by the user at step S701. Note that, at this time point, the concurrent operation of the recording to and the playback of one recording file, started at step S703 and step S705 respectively, is caused to begin. Then, the process proceeds to the next step S706.
At step S706, it is determined whether a chase finishing instruction by the user has been inputted. In other words, if the user has pressed the chase finishing button of the input unit 105, the process proceeds to step S707, and if he or she has not pressed the chase finishing button, the process proceeds to step S708. Note that the chase finishing button has a function of sending a command signal which gives an instruction for finishing a chasing process in execution.
At step S707, the chasing playback process in the chase viewing which is in execution at the moment is forcibly terminated by the chasing unit 108. Then, the process proceeds to the next step S1401.
At step S1401, the recording process in the chase viewing which is in execution at the moment is forcibly terminated by the chasing unit 108. Then, the process proceeds to the next step S1402.
At step S1402, the recording file which was created at step S702 and to or from which program data was recorded and read thereafter is erased. Then, the process is finished.
At step S708, it is determined whether the chasing playback started at step S705 has already been completed. If it is determined that it has not been completed, the process returns to step S706 described above. Meanwhile, if it is determined that it has been completed, the process proceeds to step S1402 described above and the recording file of which the chasing playback has been completed is erased. Thus, in a conventional device, only scenes between the point at which the playback is being performed and the point at which the recording is being performed is stored in a recording file. A recording file may be managed in a data structure, a so-called ring buffer, for example.
Using a ring buffer easily makes it possible to achieve restricting the size of a recording file not to grow above a predetermined size. Consequently, the capacity of an HDD used in the storage managing unit 107 is by no means burdened aimlessly. When the playing-back position of the file catches up with the recording position of the file, the size of the recording file becomes zero. As a result, the processes corresponding to the playback finishing process at step S707 and the recording finishing process at step S1401 are automatically carried out, and therefore step S707 and step S1401 become unnecessary.
As cases where a playback position catches up with a recording file, that is, where the tail end of the recording file comes to be played back, such cases are conceivable as a case where rapid playback has been performed, a case where the recording which is currently being performed is interrupted because resources in the receiving unit which receives the program of which the recording is being performed are deprived of by another preprogrammed recording, and the like.
In the flowchart described above, an instruction to start recording is given by the pause button, but there is also a device equipped with a mode in which, whenever the power is turned on, portions up to a predetermined period behind are always recorded without necessity of pressing the pause button. Moreover, there is also a device which is structured so that when the chasing playback button is pressed the point of playback goes back a predetermined period of time instead of going back to the beginning of the file and if the chasing playback button is pressed repeatedly the point of playback goes back predetermined periods of time one after another.
However, the above-described receiving device has the following problems concerning operationality and functionality. First, in connection with operationality, there is a problem in an operation of preprogramming a recording of a program. Specifically, when an operation of preprogramming a recording of a program is conducted, even if an electronic program list is used, it is required to explicitly perform a preprogramming of the recording of the program, which is cumbersome. In addition, it is necessary to consider in advance which program is worthy of preprogrammed recording before the program is broadcast. Consequently, even if that one program is worth viewing is made known by another person after it is broadcast, it is no more possible to view it because it cannot be recorded any longer at the time. In connection with functionality, in terms of a chase recording for a program of which a recording is not preprogrammed, it is impossible to go back farther than to the time point at which the pause button was pressed after viewing was begun. In other words, if it is desired to record the whole of the program at the time point when a part of the program has been viewed, this is impossible without a record starting operation being performed at the starting time of the program.
Further, in the case where it is impossible to secure a sufficient vacant area in the storage managing unit 107 by erasing a part or the whole of the program data Dp which is in a temporarily-stored state by means of the above-described automatic erasure recording function, it is impossible to record a desired program. Meanwhile, even in the case where a sufficient vacant area is secured to record a new program, the user will suffer a disadvantage if an erased program which has been in a temporarily-stored state is preferable to the program which has been recorded newly. Not to mention, it is more disadvantageous if the erased program data has never been played back to be viewed. In view of this, it is desirable to be able to record a new program while erasing as little program data stored in the storage managing unit 107 as possible.
Therefore, an object of the present invention is to provide a speculative recording function device which performs a speculative recording which automatically selects a program to be recorded in view of the history of viewing or recording and the like, even when an explicit recording instruction is not given by the user. Further, another object is to provide a speculative recording function device which speculatively secures an area for a new recording of a program while erasing as little program data which has already been recorded as possible.